package mwt.xml.waxdbforms.presentation;

import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mwt.xml.waxdbforms.business.DbmsService;
import mwt.xml.waxdbforms.business.WAXDBFormsServiceFactory;
import mwt.xml.xdbforms.dbms.metadata.impl.TableMetadata;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;

public class ListingManager extends MappingDispatchAction {

    public ActionForward showtablelist(ActionMapping mapping, ActionForm actionForm,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
        WAXDBFormsServiceFactory factory = WAXDBFormsServiceFactory.getInstance();
        DbmsService service = factory.getDbmsService();
        
        List<String> schemas = service.getSchemasList();
        request.setAttribute("schemas", schemas);

        String schemaName = (String)request.getParameter("schema");
        
        List<TableMetadata> tables = service.getTablesList(schemaName);
        request.setAttribute("tables", tables);
        request.setAttribute("schema", schemaName);

        return mapping.findForward("user.tablelist");
    }
}
